﻿using System.Web.Mvc;
using Storytelling.Entidades.VTR;
using Storytelling.Modelos.VTR;
using Storytelling.Negocio;
using Storytelling.Utils;

namespace Storytelling.Controllers
{
    public class CoalizaoController : BaseCrudController<Coalizao, CoalizaoFormModel>
    {
        protected override IServico<Coalizao, CoalizaoFormModel> Servico
        {
            get { return Servicos.Coalizao; }
        }

        protected override void EscolherCarregamento(Carga<Coalizao> carga, TipoCarregamento tipo)
        {
            carga.Carregar(ent => ent.Disciplinas).Carregar(ent => ent.Disciplina);
            carga.Carregar(ent => ent.Vantagens).Carregar(ent => ent.Vantagem);

            switch (tipo)
            {
                case TipoCarregamento.Unico:
                    carga.Carregar(ent => ent.Vantagem);
                    break;
            }
        }

        [AutorizarEditor]
        public override ActionResult Form(long? id)
        {
            return base.Form(id);
        }

        [AutorizarEditor]
        public override ActionResult Form(CoalizaoFormModel model)
        {
            return base.Form(model);
        }

        [AutorizarEditor]
        public override ActionResult Excluir(long? id)
        {
            return base.Excluir(id);
        }
    }
}
